package com.jinzw.jform.core;

import android.content.Context;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.util.TypedValue;

public class DimensionUtils {
    public static float pxToDp(int px){
        DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
        float dp = px / (metrics.densityDpi / 160f);
        return Math.round(dp);
    }

    public static int dpToPx(int dp){
        return dpToPx((float) dp);
    }

    public static int dpToPx(float dp){
        DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
        float px = dp * (metrics.densityDpi / 160f);
        return Math.round(px);
    }



    public static int px2dip(Context context, float f) {
        return (int) (0.5F + f
                / context.getResources().getDisplayMetrics().density);
    }

    public static int dip2px(Context context, float f) {
        return (int) (0.5F + f
                * context.getResources().getDisplayMetrics().density);
    }
    /**

     * sp转px

     *

     * @param context


     * @return

     */

    public static int sp2px(Context context, float spVal)
    {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
                spVal, context.getResources().getDisplayMetrics());

    }
    /**

     * px转sp

     *


     * @param pxVal

     * @return

     */

    public static float px2sp(Context context, float pxVal)

    {

        return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);

    }
}
